package com.ctshk.rpc.airexpress.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
import java.util.TreeMap;

@Data
@ApiModel(value = "AirportExpressInfoDTO对象", description = "机场快线DTO")
public class AirportExpressInfoDTO implements Serializable {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty("ID")
    private Long id;
    @ApiModelProperty("机场快线api的id")
    private String apiId;

    @ApiModelProperty("是否可以使用代理商")
    private boolean canUseAgent;

    @ApiModelProperty("票种名称中文")
    private String ticketTypeNameCn;
    @ApiModelProperty("票种名称英文")
    private String ticketTypeNameEn;
    @ApiModelProperty("产品编码")
    private String productCode;
    @ApiModelProperty("票种类型")
    private Integer ticketType;
    @ApiModelProperty("车票有效时间")
    private Integer ticketValidity;
    @ApiModelProperty("来源")
    private Integer source;
    @ApiModelProperty("供应商id")
    private Long supplierId;
    @ApiModelProperty("供应商名称")
    private String supplierName;
    @ApiModelProperty("上架状态")
    private Integer onShelfStatus;
    @ApiModelProperty("售卖状态")
    private Integer saleStatus;
    @ApiModelProperty("预订须知")
    private String bookingInformation;
    @ApiModelProperty("退改设置")
    private String changeSettings;
    @ApiModelProperty("退改手续费")
    private BigDecimal cancellationCharge;
    @ApiModelProperty("成人价格")
    private BigDecimal adultPrice;
    @ApiModelProperty("小童价格")
    private BigDecimal childrenPrice;

    @ApiModelProperty("负责人ID")
    private Long chargePersonId;
    @ApiModelProperty("负责人员工号")
    private String chargePersonNumber;
    @ApiModelProperty("负责人姓名")
    private String chargePersonName;
    @ApiModelProperty("负责人部门名称")
    private String chargePersonDepartment;
    @ApiModelProperty("创建时间")
    private LocalDateTime gmtCreate;
    @ApiModelProperty("创建人")
    private Long createId;
    @ApiModelProperty("更新时间")
    private LocalDateTime gmtModified;
    @ApiModelProperty("修改人")
    private Long modifiedId;

    @ApiModelProperty("加幅策略每日规则列表")
    private TreeMap<LocalDate, AirportExpressDetailDTO> dateRuleInfoMap;
}
